<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/4/9
 * Time: 21:04
 */

namespace app\excel\controller;
use PhpOffice\PhpSpreadsheet\IOFactory;

class Index
{
    public function index() {
        // 读文件数据列表
        $inputFileType = 'Xls';
        $inputFileName = 'file/list.xls';
        $sheetnames = ['Sheet1'];
        $reader = IOFactory::createReader($inputFileType);
        $reader->setLoadSheetsOnly($sheetnames);
        $sheetList = $reader->load($inputFileName);
        $worksheet = $sheetList->getActiveSheet();
        $dataList = $worksheet->toArray();
        // var_dump($dataList[100]);
        // echo count($dataList);
        foreach ($dataList as $key => $indexValue) {
            if ($key >= 400 && $key < 900) {
                // 导出模板
                $T_setsheet = IOFactory::load('file/template.xls');
                $T_worksheet = $T_setsheet->getActiveSheet();
                // 编号
                $T_worksheet->getCell('B1')->setValue("'" . $indexValue[6]);
                // 村
                $T_worksheet->getCell('E4')->setValue($indexValue[4]);
                // 组
                $T_worksheet->getCell('F4')->setValue($indexValue[50]);
                // 户主名称
                $T_worksheet->getCell('C5')->setValue($indexValue[1]);
                // 身份证
                if ($indexValue[10]) {
                    $T_worksheet->getCell('D6')->setValue("'" . $indexValue[10]);
                }
                // 文化程度
                $T_worksheet->getCell('H6')->setValue($indexValue[36]);
                // 配偶名称
                $T_worksheet->getCell('C7')->setValue($indexValue[11]);
                // 配偶身份证
                if ($indexValue[13]) {
                    $T_worksheet->getCell('D8')->setValue("'" . $indexValue[13]);
                }
                // 配偶文化程度
                $T_worksheet->getCell('H8')->setValue($indexValue[49]);
                // 劳动力
                // 1
                $LabourNum = 0;
                if ($indexValue[14]) {
                    $LabourNum++;
                    $T_worksheet->getCell('F10')->setValue($indexValue[14]);
                    $T_worksheet->getCell('G10')->setValue($indexValue[15]);
                    $T_worksheet->getCell('H10')->setValue($indexValue[40]);
                    $T_worksheet->getCell('I10')->setValue($indexValue[33]);
                    $T_worksheet->getCell('K10')->setValue($indexValue[34]);
                }
                // 2
                if ($indexValue[16]) {
                    $LabourNum++;
                    $T_worksheet->getCell('F11')->setValue($indexValue[16]);
                    $T_worksheet->getCell('G11')->setValue($indexValue[17]);
                    $T_worksheet->getCell('H11')->setValue($indexValue[40]);
                    $T_worksheet->getCell('I11')->setValue($indexValue[33]);
                    $T_worksheet->getCell('K11')->setValue($indexValue[34]);
                }
                // 3
                if ($indexValue[18]) {
                    $LabourNum++;
                    $T_worksheet->getCell('F12')->setValue($indexValue[18]);
                    $T_worksheet->getCell('G12')->setValue($indexValue[19]);
                    $T_worksheet->getCell('H12')->setValue($indexValue[40]);
                    $T_worksheet->getCell('I12')->setValue($indexValue[33]);
                    $T_worksheet->getCell('K12')->setValue($indexValue[34]);
                }
                // 4
                if ($indexValue[20]) {
                    $LabourNum++;
                    $T_worksheet->getCell('F13')->setValue($indexValue[20]);
                    $T_worksheet->getCell('G13')->setValue($indexValue[21]);
                    $T_worksheet->getCell('H13')->setValue($indexValue[40]);
                    $T_worksheet->getCell('I13')->setValue($indexValue[33]);
                    $T_worksheet->getCell('K13')->setValue($indexValue[34]);
                }
                // 5
                if ($indexValue[22]) {
                    $LabourNum++;
                    $T_worksheet->getCell('F14')->setValue($indexValue[22]);
                    $T_worksheet->getCell('G14')->setValue($indexValue[23]);
                    $T_worksheet->getCell('H14')->setValue($indexValue[40]);
                    $T_worksheet->getCell('I14')->setValue($indexValue[33]);
                    $T_worksheet->getCell('K14')->setValue($indexValue[34]);
                }
                // 6
                if ($indexValue[24]) {
                    $LabourNum++;
                    $T_worksheet->getCell('F15')->setValue($indexValue[24]);
                    $T_worksheet->getCell('G15')->setValue($indexValue[25]);
                    $T_worksheet->getCell('H15')->setValue($indexValue[40]);
                    $T_worksheet->getCell('I15')->setValue($indexValue[33]);
                    $T_worksheet->getCell('K15')->setValue($indexValue[34]);
                }
                // 7
                if ($indexValue[26]) {
                    $LabourNum++;
                    $T_worksheet->getCell('F16')->setValue($indexValue[26]);
                    $T_worksheet->getCell('G16')->setValue($indexValue[27]);
                    $T_worksheet->getCell('H16')->setValue($indexValue[40]);
                    $T_worksheet->getCell('I16')->setValue($indexValue[33]);
                    $T_worksheet->getCell('K16')->setValue($indexValue[34]);
                }
                // 劳务个数
                $T_worksheet->getCell('C9')->setValue($LabourNum);
                // 家庭负债
                $T_worksheet->getCell('D21')->setValue($indexValue[30]);
                // 发放日期
                $T_worksheet->getCell('C27')->setValue($indexValue[28]);
                // 到期日
                $T_worksheet->getCell('D27')->setValue($indexValue[29]);
                // 金额
                $T_worksheet->getCell('F27')->setValue($indexValue[30]);
                // 利率
                $T_worksheet->getCell('G27')->setValue($indexValue[31]);

                $writer = IOFactory::createWriter($T_setsheet, 'Xls');
                $dir = iconv("UTF-8", "GBK", 'export/' . $indexValue[4]);
                if (!file_exists($dir)) {
                    mkdir($dir, 0777, true);
                }
                $fileName = 'export/' . $indexValue[4] . '/' . $indexValue[1] . '.xls';
                $name = iconv("utf-8", "GBK", $fileName);
                $writer->save($name);
            }
        }
    }
}